package com.itany.corejava.code14_lambda;

import java.util.function.Consumer;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年12月14日 14:12
 */
public class Test02_消费型接口 {
    public static void main(String[] args) {
        // testConsumer(new Consumer<String>() {
        //     @Override
        //     public void accept(String s) {
        //         System.out.println(s+"上完了，还要上一天就放假了");
        //     }
        // },"星期四");


        // Consumer<String> consumer = s -> System.out.println(s + "上完了，还要上一天就放假了");
        // testConsumer(consumer, "星期四");

        testConsumer(s -> System.out.println(s + "上完了，还要上一天就放假了"),"星期四");

    }

    /**
     *消费型接口Consumer<T>,接口方法：void accept(T t)
     * 接口的泛型类型与调用accept方法时传入的参数类型一致
     * 由于此处方法并不是最终的调用者，此处方法仍然会被调用
     * 因此，可以使用形参作为accept方法的参数
     * @param consumer
     * @param str
     */
    public static void testConsumer(Consumer<String> consumer, String str) {
        consumer.accept(str);
    }
}
